/**
 * Created by Administrator on 2016/12/19.
 */
//1.首先连接数据库
var mongo = require('./db');
//2.创建一个User类，在这里面对登录和注册进行设计
//User类的主要功能就是为了完成新增和查询操作，那么它应该是针对
//用户信息(users集合)进行的.
function User(user) {
    this.name=user.name;
    this.password =user.password;
    this.email = user.email;
}
module.exports = User;
//保存用户信息的save方法,注册
//1.打开数据库
//2.用户信息放到数据库里面，存放起来.
//3.关闭数据库
User.prototype.save =function (callback) {
    //接收一下表单的数据，要保存的user对象
    var user ={
        name:this.name,
        password:this.password,
        email:this.email
    };
    //使用open方法打开数据库
    mongo.open(function (err,db) {
        if(err){
            //如果发生了错误
            return callback(err);
        }
        //读取user集合
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            //将用户的信息存放到users集合当中去
            //{safe:true}
            collection.insert(user,{safe:true},function (err,user) {
                //
                mongo.close();
                if(err){
                    return callback(err);
                }
                //返回注册成功的用户名
                return callback(user[0]);
            })
        })
        
    })
};

//根据名称获取用户信息的get方法,登录

 User.get =function (name,callback) {
   //1.打开数据库
     mongo.open(function (err,db) {
         //发生生错误
         if(err){
             return callback(err);
         }
         //2.读取user集合
         db.collection('users',function (err,collection) {
             if(err){
                 return callback(err);
             }
             //查找用户名
             collection.findOne({name:name},function (err,user) {
                 if(err){
                     return callback(err);
                 }
                 //成功返回查询的用户信息.
                 callback(null,user);
             })
         })
     })
 };